package com.ruoyi.cinema.DTO;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class EffectiveCouponYzDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**优惠券券码*/
    private String couponCode;
    /**优惠券券名称*/
    private String couponName;
    /**优惠券对外说明*/
    private String couponDesc;
    /**CASH_COUPON:代⾦ 券;EXCHANGE_COUPON: 兑换券;REPRICE_COUPON:重 新定价 券;DISCOUNT_COUPON: 折扣券*/
    private String templateType;
    /**券兑换策略，ONE:⼀兑 ⼀;MORE:多兑 ⼀;CUSTOM:⾃定义*/
    private String exchangePolicy;
    /**优惠券提醒信息，例如：购 买两张以上电影票可以使⽤*/
    private String warning;
    /**TICKET:电影票;GOODS:卖 品;CARD:会员 卡;NO_LIMIT:不限*/
    private List<String> applyProductTypeList;
    /**TICKET:电影票;GOODS:卖 品;CARD:会员卡*/
    private String selectedProductType;
    /**券绑定的商品编码，电影票 则为座位编码、卖品则为卖品编码*/
    private List<String> itemCodeList;
    /**满xxx分可⽤*/
    private Long limitAmount;
    /**代⾦券表示⾯值；兑换券表 示基础售价；折扣券表示百 分⽐*/
    private Long discountValue;
    /**服务费是否免收，Y/N*/
    private String isServiceFeeFree;
    /**⼿续费是否免收，Y/N*/
    private String isTicketFeeFree;
    /**是否⽀持补差，Y/N*/
    private String isCompensatory;
    /**补差类型。 ORIGINAL_PRICE:按原票 价补差；LOWEST_PRICE: 按最低票价补差。*/
    private String compensateType;
    /**补差⽅。 CUSTOMER:顾客 补差；CINEMA:影院补差； THIRD_PARTY:第三⽅补差*/
    private String compensateParty;
    /**是否仅线上使⽤，Y/N*/
    private String isOnlineOnly;
    /**EFFECTIVE:⽣效 中;CHECKED:已核 销;TRASH:已作废;LOCK:已 锁定;EXPIRE:已过 期;NOT_ACTIVIE:待激 活;FREEZE:已冻结*/
    private String couponState;
    /**券有效开始时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDateTime;
    /**券有效结束时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDateTime;
    /**⽣⽇券显示标示， NO_LIMIT:不限 制;DAY_LIMIT:⽣⽇当 天;MONTH_LIMIT:⽣⽇当 ⽉*/
    private String birthdayShowFlag;
    /**特殊场次说明*/
    private String specialScheduleDesc;
    /**该券在当前条件下是否可⽤ (Y可⽤，N不可⽤)*/
    private String canUse;
    /**券实际优惠⾦额*/
    private Long couponPromoPrice;

    public String getCouponCode() {
        return couponCode;
    }

    public void setCouponCode(String couponCode) {
        this.couponCode = couponCode;
    }

    public String getCouponName() {
        return couponName;
    }

    public void setCouponName(String couponName) {
        this.couponName = couponName;
    }

    public String getCouponDesc() {
        return couponDesc;
    }

    public void setCouponDesc(String couponDesc) {
        this.couponDesc = couponDesc;
    }

    public String getTemplateType() {
        return templateType;
    }

    public void setTemplateType(String templateType) {
        this.templateType = templateType;
    }

    public String getExchangePolicy() {
        return exchangePolicy;
    }

    public void setExchangePolicy(String exchangePolicy) {
        this.exchangePolicy = exchangePolicy;
    }

    public String getWarning() {
        return warning;
    }

    public void setWarning(String warning) {
        this.warning = warning;
    }

    public List<String> getApplyProductTypeList() {
        return applyProductTypeList;
    }

    public void setApplyProductTypeList(List<String> applyProductTypeList) {
        this.applyProductTypeList = applyProductTypeList;
    }

    public String getSelectedProductType() {
        return selectedProductType;
    }

    public void setSelectedProductType(String selectedProductType) {
        this.selectedProductType = selectedProductType;
    }

    public List<String> getItemCodeList() {
        return itemCodeList;
    }

    public void setItemCodeList(List<String> itemCodeList) {
        this.itemCodeList = itemCodeList;
    }

    public Long getLimitAmount() {
        return limitAmount;
    }

    public void setLimitAmount(Long limitAmount) {
        this.limitAmount = limitAmount;
    }

    public Long getDiscountValue() {
        return discountValue;
    }

    public void setDiscountValue(Long discountValue) {
        this.discountValue = discountValue;
    }

    public String getIsServiceFeeFree() {
        return isServiceFeeFree;
    }

    public void setIsServiceFeeFree(String isServiceFeeFree) {
        this.isServiceFeeFree = isServiceFeeFree;
    }

    public String getIsTicketFeeFree() {
        return isTicketFeeFree;
    }

    public void setIsTicketFeeFree(String isTicketFeeFree) {
        this.isTicketFeeFree = isTicketFeeFree;
    }

    public String getIsCompensatory() {
        return isCompensatory;
    }

    public void setIsCompensatory(String isCompensatory) {
        this.isCompensatory = isCompensatory;
    }

    public String getCompensateType() {
        return compensateType;
    }

    public void setCompensateType(String compensateType) {
        this.compensateType = compensateType;
    }

    public String getCompensateParty() {
        return compensateParty;
    }

    public void setCompensateParty(String compensateParty) {
        this.compensateParty = compensateParty;
    }

    public String getIsOnlineOnly() {
        return isOnlineOnly;
    }

    public void setIsOnlineOnly(String isOnlineOnly) {
        this.isOnlineOnly = isOnlineOnly;
    }

    public String getCouponState() {
        return couponState;
    }

    public void setCouponState(String couponState) {
        this.couponState = couponState;
    }

    public Date getStartDateTime() {
        return startDateTime;
    }

    public void setStartDateTime(Date startDateTime) {
        this.startDateTime = startDateTime;
    }

    public Date getEndDateTime() {
        return endDateTime;
    }

    public void setEndDateTime(Date endDateTime) {
        this.endDateTime = endDateTime;
    }

    public String getBirthdayShowFlag() {
        return birthdayShowFlag;
    }

    public void setBirthdayShowFlag(String birthdayShowFlag) {
        this.birthdayShowFlag = birthdayShowFlag;
    }

    public String getSpecialScheduleDesc() {
        return specialScheduleDesc;
    }

    public void setSpecialScheduleDesc(String specialScheduleDesc) {
        this.specialScheduleDesc = specialScheduleDesc;
    }

    public String getCanUse() {
        return canUse;
    }

    public void setCanUse(String canUse) {
        this.canUse = canUse;
    }

    public Long getCouponPromoPrice() {
        return couponPromoPrice;
    }

    public void setCouponPromoPrice(Long couponPromoPrice) {
        this.couponPromoPrice = couponPromoPrice;
    }
}
